import config from '@/config/index'
import {
  getToken
} from '@/utils/auth.js'
const request = {}
const headers = {}
request.globalRequest = (url, method, data) => {
  if (!data) {
    data = {}
  }
  if (getToken()) {
    headers['Token'] = getToken(); //'Bearer ' + 
    headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'
  }
  return new Promise((resolve, reject) => {

    uni.request({
      url: config.API + url,
      method: method,
      data: data,
      sslVerify: false,
      dataType: 'json',
      header: headers,
      timeout: 5 * 1000
    }).then(res => {
      // console.log(res)
      let new_data = {}
      const dataType = typeof res.data
      if (dataType == "string") {
        const errorString = res.data.split("}{")[0] + "}";
        new_data = JSON.parse(errorString)
      } else {
        new_data = res.data
      }
      if (new_data.code && new_data.code == 200) {
        resolve(new_data)
      } else if (new_data.code && new_data.code == 1018) {
        uni.showToast({
          title: '登录状态已过期',
          duration: 1000
        });
        setTimeout(function() {
          uni.navigateTo({
            url: "/pages/login/login"
          })
        }, 1000)
      } else {
        // uni.showToast({
        // 	title: new_data,
        // 	icon: 'none',
        // 	duration: 3 * 1000
        // })
        reject(new_data || '请求失败,请重新尝试!')
      }

    }).catch(res => {
      uni.showModal({
        title: '提示',
        content: '请求失败,请重新尝试',
        showCancel: false
      })
      reject(res || '请求失败,请重新尝试.')
    })
  })
}
export default request
// import config from '@/config/index.js'
// import { getToken } from '@/utils/auth'


// const request={}
// request.globalRequest=(url, method, data, headers, type)=>{
// 	return uni.request({
// 		url:config.API+url,
// 		method,
// 		data:data,
// 		header:headers,
// 		dataType:'json'
// 	}).then(res=>{
// 		// console.log(res)
// 		// if (res[1].data.status == 200 || res[1].statusCode == 200) {
// 		// 	if (res[1].data.data || res[1].data.data === 0)
// 		// 		return res[1].data.data
// 		// 	else
// 				return res.data
// 		// } else if (res[1].data.status == 0 && res[1].statusCode == 200) {
// 		// 	uni.showToast({
// 		// 		title: res[1].data.msg,
// 		// 		icon: 'none'
// 		// 	})
// 		// } else {
// 		// 	return Promise.reject(res[1].data)
// 		// 	throw res[1].data
// 		// }
// 		// throw res[1].data
// 	}).catch(parent=>{
// 		console.log(parent)
// 		return Promise.reject()
// 	})

// }
// export default request